Direct Connect(DC)について
Direct Connect(DC)は、P2P(ピアツーピア)
ファイル共有を実現するための
通信プロトコルです。このプロトコルの特長は、クライアントが中央のハブにアクセスし、他のユーザーと直接ファイルを
ダウンロードできる点にあります。Direct Connectには、これをさらに進化させたAdvanced Direct Connect(ADC)が存在し、後の開発において重要な役割を果たしています。
Direct Connectの基本的な仕組み
Direct Connectのハブは、接続中のクライアントやユーザーの一覧を表示します。これにより、ユーザーはファイルを検索し、検出されたファイルを他のクライアントから
ダウンロードすることができます。加えて、ハブ内で他のユーザーとリアルタイムでチャットを行うことも可能です。このように、Direct Connectは
ファイル共有だけでなく、コミュニケーションの場としても機能しています。
歴史の歩み
Direct Connectの幕開けは、1999年にさかのぼります。NeoModusはジョン・ヘスによって設立され、同社は
アドウェア「Direct Connect」により資金提供を受けていました。このプロトコルの最初のサードパーティ製クライアントは「DClite」と名付けられましたが、初期の段階ではその
ファイル共有機能は完全にはサポートされていませんでした。その後、ヘスは新たに暗号鍵を利用するバージョンのDirect Connectを発表し、これによりサードパーティ製のクライアントは制限されました。解読可能な暗号鍵の存在は、DCliteの開発者が新たなバージョンを公開するきっかけとなりました。こうして、DCliteは「Open Direct Connect」と改称され、新機能が追加されたバージョンとして再登場しました。
その後も複数のクライアントが登場し、特にDCTC(Direct Connect Text Client)やDC++といったクライアントが主流となる中で、2003年から2005年の間に行われたDC開発に関するディスカッションはDCDevアーカイブに記録されています。
プロトコルの特徴
Direct Connectのプロトコルはテキストベースであり、コマンドや情報は
平文でやりとりされます。最初のNeoModus製ソフトウェアには暗号化機能が含まれていませんでしたが、後のプロトコル拡張においては暗号化が導入されています。クライアントは「ハブ」と呼ばれる中央サーバに接続し、これによりコンテンツを見つけたり、他のクライアントと直接やり取りしてファイルを転送することが可能です。このハブは
メタデータのみを管理しており、ファイルそのものの転送に比べて必要な帯域幅は大幅に少なくて済みます。
例えば、約1000人のユーザーに対しては、わずか2.5 Mbit/sの帯域幅で運用が可能です。ただし、プロトコルの仕様書が存在しないため、多くのクライアントやハブは独自に情報を
リバースエンジニアリングしており、このため仕様に関する情報の精度は不十分である可能性が高いです。
接続時にはサーバがクライアントに応答することが必須であり、例としてハブのソケットにクライアントが接続した際には、ハブが先に応答を返します。このプロトコルは、デフォルトの文字エンコーディングを規定していませんが、元クライアントは
ASCIIエンコーディングを使用しており、新しいソフトウェアでは
UTF-8への移行が進められています。
モードと接続の種類
Direct Connectでは、ユーザーが存在するモードとして「アクティブモード」と「パッシブモード」の二つがあります。アクティブモードのユーザーはネットワーク上のすべての他ユーザーから
ダウンロード可能ですが、パッシブモードのユーザーはアクティブユーザーからのみ
ダウンロードを受けることができます。ここで重要なのは、NeoModusのプロトコルではパッシブモードユーザーも他のパッシブユーザーの検索結果を得られる点ですが、DC++ではこの検索結果自体を受け取ることができません。この検索結果の配信方法も異なり、アクティブクライアントには直接送信され、パッシブクライアントにはハブ経由で渡されます。
ハブの役割
ハブはユーザーコマンドをクライアントにプッシュ可能で、これにより特定の操作を簡略化することができます。また、プロトコルにおける「スロット」の概念も重要で、これはユーザーに対して
ダウンロード可能な人数を示すものであり、接続数が多い環境では利用者にとって重要な要素となります。
セキュリティの課題
Direct ConnectはDDoS攻撃に利用されることもありました。悪意のあるハブによって正規のハブへリダイレクトされることで、ユーザーが意図しない相手に接続させられ、全体的なネットワークが脅威にさらされることが問題視されていました。このような攻撃事例を受け、セキュリティ対策が強化される流れが生じました。
Direct Connectの未来
Direct Connect Network Foundation(DCNF)はこのプロトコルの改善に注力しており、関連する情報や文書を管理する
非営利団体です。進化を続けるDirect Connectとその後継プロトコルADCは、
ファイル共有の未来においても重要な役割を果たし続けることでしょう。